Описание
Задает или возвращает значение, которое определяет имя
присоединенной таблицы или имя основной таблицы (только в рабочей области
Microsoft Jet).
Значение
Задаваемое или возвращаемое значение является выражением типа
String, указывающим имя таблицы. Для основной таблицы значением данного
свойства является пустая строка (""). Значение данного свойства доступно только
для чтения для основной таблицы и для чтения/записи для присоединенной таблицы,
а также для объекта, не добавленного в семейство.
Пример
Следующая программа использует свойства Connect и
SourceTableName для присоединения различных внешних таблиц к базе данных
Microsoft. Для выполнения данной процедуры требуется процедура
ConnectOutput.
Sub ConnectX()
Dim dbsTemp As Database
Dim strMenu As String
Dim strInput As String
' Открывает базу данных Microsoft Jet, к которой
' будет присоединена таблица.
Set dbsTemp = OpenDatabase("DB1.mdb")
' Сборка текста меню.
strMenu = "Введите номер, определяющий источник:" & vbCr
strMenu = strMenu & " 1. База данных Microsoft Jet" & vbCr
strMenu = strMenu & " 2. Таблица Microsoft FoxPro 3.0" & vbCr
strMenu = strMenu & " 3. Таблица dBASE" & vbCr
strMenu = strMenu & " 4. Таблица Paradox" & vbCr
strMenu = strMenu & " M. (см. варианты 5-9)"
' Принимает выбор пользователя.
strInput = InputBox(strMenu)
If UCase(strInput) = "M" Then
' Сборка текста меню.
strMenu = "Введите номер, определяющий источник:" & vbCr
strMenu = strMenu & " 5. Электронная таблица Microsoft Excel" & vbCr
strMenu = strMenu & " 6. Электронная таблица Lotus" & vbCr
strMenu = strMenu & " 7. Текст, разделяемый запятыми (CSV)" & vbCr
strMenu = strMenu & " 8. Таблица HTML" & vbCr
strMenu = strMenu & " 9. Папка Microsoft Exchange"
' Принимает выбор пользователя.
strInput = InputBox(strMenu)
End If
' Вызывает процедуру ConnectOutput. Третий аргумент будет
' использован как строка подключения, а четвертый
' как значение свойства SourceTableName.
Select Case Val(strInput)
Case 1
ConnectOutput dbsTemp, _
"JetTable", _
";DATABASE=C:\My Documents\Борей.mdb", _
"Employees"
Case 2
ConnectOutput dbsTemp, _
"FoxProTable", _
"FoxPro 3.0;DATABASE=C:\FoxPro30\Samples", _
"Q1Sales"
Case 3
ConnectOutput dbsTemp, _
"dBASETable", _
"dBase IV;DATABASE=C:\dBASE\Samples", _
"Accounts"
Case 4
ConnectOutput dbsTemp, _
"ParadoxTable", _
"Paradox 3.X;DATABASE=C:\Paradox\Samples", _
"Accounts"
Case 5
ConnectOutput dbsTemp, _
"ExcelTable", _
"Excel 5.0;" & _
"DATABASE=C:\Excel\Samples\Q1Sales.xls", _
"January Sales"
Case 6
ConnectOutput dbsTemp, _
"LotusTable", _
"Lotus WK3;" & _
"DATABASE=C:\Lotus\Samples\Sales.xls", _
"THIRDQTR"
Case 7
ConnectOutput dbsTemp, _
"CSVTable", _
"Text;DATABASE=C:\Samples", _
"Sample.txt"
Case 8
ConnectOutput dbsTemp, _
"HTMLTable", _
"HTML Import;DATABASE=http://" & _
"www.server1.com/samples/page1.html", _
"Q1SalesData"
Case 9
ConnectOutput dbsTemp, _
"ExchangeTable", _
"Exchange 4.0;MAPILEVEL=" & _
"Mailbox - Michelle Wortman (Exchange)" & _
"|People\Important;", _
"Jerry Wheeler"
End Select
dbsTemp.Close
End Sub
Sub ConnectOutput(dbsTemp As Database, _
strTable As String, strConnect As String, _
strSourceTable As String)
Dim tdfLinked As TableDef
Dim rstLinked As Recordset
Dim intTemp As Integer
' Создает новый объект TableDef,задает его свойства Connect
' и SourceTableName на основании переданных аргументов,
' добавляет объект в семейство TableDefs.
Set tdfLinked = dbsTemp.CreateTableDef(strTable)
tdfLinked.Connect = strConnect
tdfLinked.SourceTableName = strSourceTable
dbsTemp.TableDefs.Append tdfLinked
Set rstLinked = dbsTemp.OpenRecordset(strTable)
Debug.Print "Data from linked table:"
' Отображает первые три записи присоединенной таблицы.
intTemp = 1
With rstLinked
Do While Not .EOF And intTemp <= 3
Debug.Print , .Fields(0), .Fields(1)
intTemp = intTemp + 1
.MoveNext
Loop
If Not .EOF Then Debug.Print , "[дополнительные записи]"
.Close
End With
' Удаляет присоединенную таблицу, созданную
' только для демонстрации.
dbsTemp.TableDefs.Delete strTable
End Sub